class Suspense extends React.Component {
  state = { loading: false };
  componentDidCatch(error) {
    if (typeof error.then === 'function') {
      this.setState({ loading: true });//如果是promise,把loading设置为true,
      //然后再等promise完成，等promise完成后会重新setState组件刷 新
      error.then(() => { this.setState({ loading: false }) });
    }
  }
  render() {
    const { fallback, children } = this.props;
    const { loading } = this.state;
    return loading ? fallback : children;
  }
}
//第一次渲染会渲染它的children
//在渲染children的时候 ，会抛出一个promise

//传递给 Suspense componentDidCatch
//react官网没有写suspense必须接受promise，只写了要跟lazy一起用